#ifndef PLAYERSKILLOBJECT_H
#define PLAYERSKILLOBJECT_H
#include <QPixmap>
#include "gs.h"

using namespace gs;

namespace gs
{
class PlayerSkillObject : public QObject
{

public:
    PlayerSkillObject(QObject *parent = 0);

    QPixmap getSkillIcon() { return skillIcon; }
    QString getSkillName() { return skillName; }
    QString getSdecription() { return sDescription; }
    bool    getUseable() { return isUsable; }
    int     getSkillId() { return skillId; }

    void setUseable(bool b) { isUsable = b; }
    void setSkillIcon(QPixmap p) { skillIcon = p; }
    void setSkillName(QString s) { skillName = s; }
    void setSkillDesc(QString d) { sDescription = d; }
    void setSkillId(int i) { skillId = i; }

    virtual void setSkillEffect(GameDialogManager* dm) = 0;
private:
    bool isUsable;
    int skillId;
    QString skillName;
    QPixmap skillIcon;
    QString sDescription;
};

class BottomLessSkill : public PlayerSkillObject
{
public:
    BottomLessSkill(QObject *parent = 0);
    void setSkillEffect(GameDialogManager* dm);

};

class DancePeaksSkill : public PlayerSkillObject
{
public:
    DancePeaksSkill(QObject *parent = 0);
    void setSkillEffect(GameDialogManager* dm);
};

class TwinWindsSkill : public PlayerSkillObject
{
public:
    TwinWindsSkill(QObject *parent = 0);
    void setSkillEffect(GameDialogManager* dm);
};
}
#endif // PLAYERSKILLOBJECT_H
